﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Input;

namespace fleetIt
{
    public static class Commands
    {
        private static RoutedCommand _About;
        private static RoutedCommand _Exit;
        private static RoutedCommand _Refresh;
        private static RoutedCommand _Underline;
        private static RoutedCommand _Bold;
        private static RoutedCommand _Italic;
        private static RoutedCommand _StrikeThrough;
        private static RoutedCommand _Paste;
        private static RoutedCommand _InsertLink;
        private static RoutedCommand _SignIn;
        private static RoutedCommand _FleetMyStatus;
        private static RoutedCommand _Profile;
        private static RoutedCommand _DeleteFleet;
        private static RoutedCommand _MarkFavoriteFleet;
        private static RoutedCommand _ReplyToFleet;
        private static RoutedCommand _Settings;
        private static RoutedCommand _SaveSettings;
        private static RoutedCommand _LinkInsert;
        private static RoutedCommand _Version;
        static Commands()
        {
            _Version = new RoutedCommand("Version", typeof(MainUI));
            _LinkInsert = new RoutedCommand("LinkInsert", typeof(MainUI));
            _SaveSettings = new RoutedCommand("SaveSettings", typeof(MainUI));
            _Settings = new RoutedCommand("Settings", typeof(MainUI));
            _ReplyToFleet = new RoutedCommand("Reply", typeof(MainUI));
            _ReplyToFleet.InputGestures.Add(new KeyGesture(Key.R, ModifierKeys.Control));
            _MarkFavoriteFleet = new RoutedCommand("MarkAsFavorite", typeof(MainUI));
            _DeleteFleet = new RoutedCommand("DeleteFleet", typeof(MainUI));
            _DeleteFleet.InputGestures.Add(new KeyGesture(Key.Delete, ModifierKeys.Control));
            _SignIn = new RoutedCommand("SignIn", typeof(MainUI));
            _Bold = new RoutedCommand("Bold", typeof(MainUI));
            _Bold.InputGestures.Add(new KeyGesture(Key.B, ModifierKeys.Control));
            _Italic = new RoutedCommand("Italic", typeof(MainUI));
            _Italic.InputGestures.Add(new KeyGesture(Key.I, ModifierKeys.Control));
            _StrikeThrough = new RoutedCommand("StrikeThrough", typeof(MainUI));
            _StrikeThrough.InputGestures.Add(new KeyGesture(Key.S, ModifierKeys.Control));
            _Paste = new RoutedCommand("Paste", typeof(MainUI));
            _Paste.InputGestures.Add(new KeyGesture(Key.V, ModifierKeys.Control));
            _InsertLink = new RoutedCommand("InsertLink", typeof(MainUI));
            _InsertLink.InputGestures.Add(new KeyGesture(Key.L, ModifierKeys.Control));
            _Underline = new RoutedCommand("Underline", typeof(MainUI));
            _Underline.InputGestures.Add(new KeyGesture(Key.U, ModifierKeys.Control));
            _About = new RoutedCommand("About", typeof(MainUI));
            _About.InputGestures.Add(new KeyGesture(Key.F1));
            _Exit = new RoutedCommand("Exit", typeof(MainUI));
            _Exit.InputGestures.Add(new KeyGesture(Key.Q, ModifierKeys.Control));
            _Refresh = new RoutedCommand("Refresh", typeof(MainUI));
            _Refresh.InputGestures.Add(new KeyGesture(Key.F5));
            _FleetMyStatus = new RoutedCommand("FleetMyStatus", typeof(MainUI));
            _FleetMyStatus.InputGestures.Add(new KeyGesture(Key.S, ModifierKeys.Alt));
            _Profile = new RoutedCommand("Profile", typeof(MainUI));
        }

        public static RoutedCommand Version
        {
            get
            {
                return _Version;
            }
        }

        public static RoutedCommand LinkInsert
        {
            get
            {
                return _LinkInsert;
            }
        }

        public static RoutedCommand SaveSettings
        {
            get
            {
                return _SaveSettings;
            }
        }

        public static RoutedCommand Settings
        {
            get
            {
                return _Settings;
            }
        }
        public static RoutedCommand MarkFavoriteFleet
        {
            get
            {
                return _MarkFavoriteFleet;
            }
        }

        public static RoutedCommand DeleteFleet
        {
            get
            {
                return _DeleteFleet;
            }
        }

        public static RoutedCommand ReplyToFleet
        {
            get
            {
                return _ReplyToFleet;
            }
        }

        public static RoutedCommand FleetMyStatus
        {
            get
            {
                return _FleetMyStatus;
            }
        }
        public static RoutedCommand Profile
        {
            get
            {
                return _Profile;
            }
        }
        public static RoutedCommand SignIn
        {
            get
            {
                return _SignIn;
            }
        }
        public static RoutedCommand Paste
        {
            get
            {
                return _Paste;
            }
        }

        public static RoutedCommand InsertLink
        {
            get
            {
                return _InsertLink;
            }
        }

        public static RoutedCommand StrikeThrough
        {
            get
            {
                return _StrikeThrough;
            }
        }

        public static RoutedCommand Italic
        {
            get
            {
                return _Italic;
            }
        }

        public static RoutedCommand Bold
        {
            get
            {
                return _Bold;
            }
        }

        public static RoutedCommand Underline
        {
            get
            {
                return _Underline;
            }
        }

        public static RoutedCommand About
        {
            get
            {
                return _About;
            }
        }

        public static RoutedCommand Exit
        {
            get
            {
                return _Exit;
            }
        }

        public static RoutedCommand Refresh
        {
            get
            {
                return _Refresh;
            }
        }
    }
}
